package com.wuliang.generate.bean.vo.datasource;

import com.google.gson.annotations.Expose;
import com.wuliang.generate.common.core.basic.BaseVo;
import com.wuliang.generate.bean.entities.datasource.DatasourceTable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * @author WuLiang
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "前后端交互参数——表")
public class DatasourceTableVo extends BaseVo<DatasourceTable> {

    @Expose
    @ApiModelProperty(name = "datasourceTableId", value = "主键ID", dataType = "int")
    private Integer datasourceTableId;

    @Expose
    @ApiModelProperty(name = "datasourceSchemaId", value = "归属于哪个数据库", dataType = "int")
    private Integer datasourceSchemaId;

    @Expose
    @ApiModelProperty(name = "tableName", value = "表名", dataType = "string")
    private String tableName;

    @Expose
    @Builder.Default
    @ApiModelProperty(name = "tableCharter", value = "表编码", dataType = "string")
    private String tableCharter = "utf8";

    @Expose
    @Builder.Default
    @ApiModelProperty(name = "tableCollate", value = "编码引擎", dataType = "string")
    private String tableCollate = "utf8_bin";

    @Expose
    @Builder.Default
    @ApiModelProperty(name = "tableEngine", value = "表引擎", dataType = "string")
    private String tableEngine = "InnoDB";

    @Expose
    @ApiModelProperty(name = "tableComment", value = "表注释", dataType = "string")
    private String tableComment;

}
